<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>distance_contours_xld [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_tools.html">工具</a> / <a href="toc_tools_geometry.html">几何</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">distance_contours_xld</span><span data-if="c" style="display:none;">distance_contours_xld</span><span data-if="cpp" style="display:none;">DistanceContoursXld</span><span data-if="dotnet" style="display:none;">DistanceContoursXld</span><span data-if="python" style="display:none;">distance_contours_xld</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">distance_contours_xld</span><span data-if="c" style="display:none;">distance_contours_xld</span><span data-if="cpp" style="display:none;">DistanceContoursXld</span><span data-if="dotnet" style="display:none;">DistanceContoursXld</span><span data-if="python" style="display:none;">distance_contours_xld</span></code> — Calculate the pointwise distance from one contour to another.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>distance_contours_xld</b>(<a href="#ContourFrom"><i>ContourFrom</i></a>, <a href="#ContourTo"><i>ContourTo</i></a> : <a href="#ContourOut"><i>ContourOut</i></a> : <a href="#Mode"><i>Mode</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>distance_contours_xld</b>(const Hobject <a href="#ContourFrom"><i>ContourFrom</i></a>, const Hobject <a href="#ContourTo"><i>ContourTo</i></a>, Hobject* <a href="#ContourOut"><i>ContourOut</i></a>, const char* <a href="#Mode"><i>Mode</i></a>)</code></p>
<p>
<code>Herror <b>T_distance_contours_xld</b>(const Hobject <a href="#ContourFrom"><i>ContourFrom</i></a>, const Hobject <a href="#ContourTo"><i>ContourTo</i></a>, Hobject* <a href="#ContourOut"><i>ContourOut</i></a>, const Htuple <a href="#Mode"><i>Mode</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>DistanceContoursXld</b>(const HObject&amp; <a href="#ContourFrom"><i>ContourFrom</i></a>, const HObject&amp; <a href="#ContourTo"><i>ContourTo</i></a>, HObject* <a href="#ContourOut"><i>ContourOut</i></a>, const HTuple&amp; <a href="#Mode"><i>Mode</i></a>)</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HXLDCont.html">HXLDCont</a>::<b>DistanceContoursXld</b>(const HXLDCont&amp; <a href="#ContourTo"><i>ContourTo</i></a>, const HString&amp; <a href="#Mode"><i>Mode</i></a>) const</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HXLDCont.html">HXLDCont</a>::<b>DistanceContoursXld</b>(const HXLDCont&amp; <a href="#ContourTo"><i>ContourTo</i></a>, const char* <a href="#Mode"><i>Mode</i></a>) const</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HXLDCont.html">HXLDCont</a>::<b>DistanceContoursXld</b>(const HXLDCont&amp; <a href="#ContourTo"><i>ContourTo</i></a>, const wchar_t* <a href="#Mode"><i>Mode</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>DistanceContoursXld</b>(<a href="HObject.html">HObject</a> <a href="#ContourFrom"><i>contourFrom</i></a>, <a href="HObject.html">HObject</a> <a href="#ContourTo"><i>contourTo</i></a>, out <a href="HObject.html">HObject</a> <a href="#ContourOut"><i>contourOut</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Mode"><i>mode</i></a>)</code></p>
<p>
<code><a href="HXLDCont.html">HXLDCont</a> <a href="HXLDCont.html">HXLDCont</a>.<b>DistanceContoursXld</b>(<a href="HXLDCont.html">HXLDCont</a> <a href="#ContourTo"><i>contourTo</i></a>, string <a href="#Mode"><i>mode</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>distance_contours_xld</b>(<a href="#ContourFrom"><i>contour_from</i></a>: HObject, <a href="#ContourTo"><i>contour_to</i></a>: HObject, <a href="#Mode"><i>mode</i></a>: str) -&gt; HObject</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">distance_contours_xld</span><span data-if="c" style="display:none">distance_contours_xld</span><span data-if="cpp" style="display:none">DistanceContoursXld</span><span data-if="com" style="display:none">DistanceContoursXld</span><span data-if="dotnet" style="display:none">DistanceContoursXld</span><span data-if="python" style="display:none">distance_contours_xld</span></code> calculates for each point in
<a href="#ContourFrom"><i><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></i></a> the minimal distance to the contours in
<a href="#ContourTo"><i><code><span data-if="hdevelop" style="display:inline">ContourTo</span><span data-if="c" style="display:none">ContourTo</span><span data-if="cpp" style="display:none">ContourTo</span><span data-if="com" style="display:none">ContourTo</span><span data-if="dotnet" style="display:none">contourTo</span><span data-if="python" style="display:none">contour_to</span></code></i></a>.
该算子 returns the contour <a href="#ContourOut"><i><code><span data-if="hdevelop" style="display:inline">ContourOut</span><span data-if="c" style="display:none">ContourOut</span><span data-if="cpp" style="display:none">ContourOut</span><span data-if="com" style="display:none">ContourOut</span><span data-if="dotnet" style="display:none">contourOut</span><span data-if="python" style="display:none">contour_out</span></code></i></a> which consists of
<a href="#ContourFrom"><i><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></i></a> containing the computed distances in the
attribute <i><span data-if="hdevelop" style="display:inline">'distance'</span><span data-if="c" style="display:none">"distance"</span><span data-if="cpp" style="display:none">"distance"</span><span data-if="com" style="display:none">"distance"</span><span data-if="dotnet" style="display:none">"distance"</span><span data-if="python" style="display:none">"distance"</span></i>.
The distances can be accessed by querying the attribute
<i><span data-if="hdevelop" style="display:inline">'distance'</span><span data-if="c" style="display:none">"distance"</span><span data-if="cpp" style="display:none">"distance"</span><span data-if="com" style="display:none">"distance"</span><span data-if="dotnet" style="display:none">"distance"</span><span data-if="python" style="display:none">"distance"</span></i> with 该算子 <a href="get_contour_attrib_xld.html"><code><span data-if="hdevelop" style="display:inline">get_contour_attrib_xld</span><span data-if="c" style="display:none">get_contour_attrib_xld</span><span data-if="cpp" style="display:none">GetContourAttribXld</span><span data-if="com" style="display:none">GetContourAttribXld</span><span data-if="dotnet" style="display:none">GetContourAttribXld</span><span data-if="python" style="display:none">get_contour_attrib_xld</span></code></a>.
See 该算子 reference of <a href="get_contour_attrib_xld.html"><code><span data-if="hdevelop" style="display:inline">get_contour_attrib_xld</span><span data-if="c" style="display:none">get_contour_attrib_xld</span><span data-if="cpp" style="display:none">GetContourAttribXld</span><span data-if="com" style="display:none">GetContourAttribXld</span><span data-if="dotnet" style="display:none">GetContourAttribXld</span><span data-if="python" style="display:none">get_contour_attrib_xld</span></code></a> for further
information about contour attributes.
</p>
<p>The parameter
<a href="#Mode"><i><code><span data-if="hdevelop" style="display:inline">Mode</span><span data-if="c" style="display:none">Mode</span><span data-if="cpp" style="display:none">Mode</span><span data-if="com" style="display:none">Mode</span><span data-if="dotnet" style="display:none">mode</span><span data-if="python" style="display:none">mode</span></code></i></a> determines which distances are calculated for each point
in <a href="#ContourFrom"><i><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></i></a>:
<i><span data-if="hdevelop" style="display:inline">'point_to_point'</span><span data-if="c" style="display:none">"point_to_point"</span><span data-if="cpp" style="display:none">"point_to_point"</span><span data-if="com" style="display:none">"point_to_point"</span><span data-if="dotnet" style="display:none">"point_to_point"</span><span data-if="python" style="display:none">"point_to_point"</span></i> calculates the minimal  distance to the base
points of <a href="#ContourTo"><i><code><span data-if="hdevelop" style="display:inline">ContourTo</span><span data-if="c" style="display:none">ContourTo</span><span data-if="cpp" style="display:none">ContourTo</span><span data-if="com" style="display:none">ContourTo</span><span data-if="dotnet" style="display:none">contourTo</span><span data-if="python" style="display:none">contour_to</span></code></i></a>.
In contrast, <i><span data-if="hdevelop" style="display:inline">'point_to_segment'</span><span data-if="c" style="display:none">"point_to_segment"</span><span data-if="cpp" style="display:none">"point_to_segment"</span><span data-if="com" style="display:none">"point_to_segment"</span><span data-if="dotnet" style="display:none">"point_to_segment"</span><span data-if="python" style="display:none">"point_to_segment"</span></i> calculates the minimum
distance to the contour segments in <a href="#ContourTo"><i><code><span data-if="hdevelop" style="display:inline">ContourTo</span><span data-if="c" style="display:none">ContourTo</span><span data-if="cpp" style="display:none">ContourTo</span><span data-if="com" style="display:none">ContourTo</span><span data-if="dotnet" style="display:none">contourTo</span><span data-if="python" style="display:none">contour_to</span></code></i></a> (see the figure
below).
</p>
<div style="text-align:center;" class="figure">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="252.674255" height="163.890533" viewBox="0 0 252.674255 163.890533">

  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_100">
      <path style="fill-rule: evenodd;" d="M516.000000 -683.000000C516.000000 -684.000000,516.000000 -694.000000,503.000000 -694.000000C488.000000 -694.000000,393.000000 -685.000000,376.000000 -683.000000C368.000000 -682.000000,362.000000 -677.000000,362.000000 -664.000000C362.000000 -652.000000,371.000000 -652.000000,386.000000 -652.000000C434.000000 -652.000000,436.000000 -645.000000,436.000000 -635.000000L433.000000 -615.000000L373.000000 -378.000000C355.000000 -415.000000,326.000000 -442.000000,281.000000 -442.000000C164.000000 -442.000000,40.000000 -295.000000,40.000000 -149.000000C40.000000 -55.000000,95.000000 11.000000,173.000000 11.000000C193.000000 11.000000,243.000000 7.000000,303.000000 -64.000000C311.000000 -22.000000,346.000000 11.000000,394.000000 11.000000C429.000000 11.000000,452.000000 -12.000000,468.000000 -44.000000C485.000000 -80.000000,498.000000 -141.000000,498.000000 -143.000000C498.000000 -153.000000,489.000000 -153.000000,486.000000 -153.000000C476.000000 -153.000000,475.000000 -149.000000,472.000000 -135.000000C455.000000 -70.000000,437.000000 -11.000000,396.000000 -11.000000C369.000000 -11.000000,366.000000 -37.000000,366.000000 -57.000000C366.000000 -81.000000,368.000000 -88.000000,372.000000 -105.000000M308.000000 -119.000000C303.000000 -101.000000,303.000000 -99.000000,288.000000 -82.000000C244.000000 -27.000000,203.000000 -11.000000,175.000000 -11.000000C125.000000 -11.000000,111.000000 -66.000000,111.000000 -105.000000C111.000000 -155.000000,143.000000 -278.000000,166.000000 -324.000000C197.000000 -383.000000,242.000000 -420.000000,282.000000 -420.000000C347.000000 -420.000000,361.000000 -338.000000,361.000000 -332.000000C361.000000 -326.000000,359.000000 -320.000000,358.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_49">
      <path style="fill-rule: evenodd;" d="M335.000000 -636.000000C335.000000 -663.000000,333.000000 -664.000000,305.000000 -664.000000C241.000000 -601.000000,150.000000 -600.000000,109.000000 -600.000000L109.000000 -564.000000C133.000000 -564.000000,199.000000 -564.000000,254.000000 -592.000000L254.000000 -82.000000C254.000000 -49.000000,254.000000 -36.000000,154.000000 -36.000000L116.000000 -36.000000L116.000000 -0.000000L294.000000 -0.000000L134.000000 -1.000000L257.000000 -4.000000L294.000000 -4.000000L325.000000 -4.000000L451.000000 -1.000000L473.000000 -0.000000L473.000000 -36.000000L435.000000 -36.000000C335.000000 -36.000000,335.000000 -49.000000,335.000000 -82.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_50">
      <path style="fill-rule: evenodd;" d="M505.000000 -182.000000L471.000000 -182.000000C468.000000 -160.000000,458.000000 -101.000000,445.000000 -91.000000C437.000000 -85.000000,360.000000 -85.000000,346.000000 -85.000000L162.000000 -85.000000C267.000000 -178.000000,302.000000 -206.000000,362.000000 -253.000000C436.000000 -312.000000,505.000000 -374.000000,505.000000 -469.000000C505.000000 -590.000000,399.000000 -664.000000,271.000000 -664.000000C147.000000 -664.000000,63.000000 -577.000000,63.000000 -485.000000C63.000000 -434.000000,106.000000 -429.000000,116.000000 -429.000000C140.000000 -429.000000,169.000000 -446.000000,169.000000 -482.000000C169.000000 -500.000000,162.000000 -535.000000,110.000000 -535.000000C141.000000 -606.000000,209.000000 -628.000000,256.000000 -628.000000C356.000000 -628.000000,408.000000 -550.000000,408.000000 -469.000000C408.000000 -382.000000,346.000000 -313.000000,314.000000 -277.000000L73.000000 -39.000000C63.000000 -30.000000,63.000000 -28.000000,63.000000 -0.000000L475.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_67">
      <path style="fill-rule: evenodd;" d="M478.000000 -507.000000C431.000000 -552.000000,371.000000 -576.000000,305.000000 -576.000000C238.000000 -576.000000,179.000000 -550.000000,134.000000 -502.000000C91.000000 -456.000000,63.000000 -386.000000,63.000000 -325.000000L63.000000 -242.000000C63.000000 -107.000000,186.000000 16.000000,322.000000 16.000000C386.000000 16.000000,447.000000 -9.000000,496.000000 -55.000000C522.000000 -79.000000,534.000000 -96.000000,534.000000 -106.000000C534.000000 -117.000000,526.000000 -125.000000,514.000000 -125.000000C507.000000 -125.000000,503.000000 -123.000000,496.000000 -115.000000C442.000000 -51.000000,391.000000 -25.000000,322.000000 -25.000000C204.000000 -25.000000,104.000000 -128.000000,104.000000 -248.000000L104.000000 -319.000000C104.000000 -438.000000,194.000000 -535.000000,305.000000 -535.000000C394.000000 -535.000000,474.000000 -482.000000,478.000000 -421.000000C479.000000 -405.000000,486.000000 -397.000000,498.000000 -397.000000C512.000000 -397.000000,519.000000 -406.000000,519.000000 -424.000000L519.000000 -536.000000C519.000000 -554.000000,512.000000 -563.000000,499.000000 -563.000000C485.000000 -563.000000,478.000000 -554.000000,478.000000 -536.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_70">
      <path style="fill-rule: evenodd;" d="M165.000000 -272.000000L310.000000 -272.000000L310.000000 -227.000000C310.000000 -209.000000,317.000000 -200.000000,330.000000 -200.000000C344.000000 -200.000000,351.000000 -209.000000,351.000000 -227.000000L351.000000 -358.000000C351.000000 -376.000000,344.000000 -385.000000,330.000000 -385.000000C317.000000 -385.000000,310.000000 -376.000000,310.000000 -358.000000L310.000000 -313.000000L165.000000 -313.000000L165.000000 -522.000000L479.000000 -522.000000L479.000000 -424.000000C479.000000 -406.000000,486.000000 -397.000000,499.000000 -397.000000C513.000000 -397.000000,520.000000 -406.000000,520.000000 -424.000000L520.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L303.000000 -0.000000C321.000000 -0.000000,331.000000 -7.000000,331.000000 -21.000000C331.000000 -34.000000,322.000000 -41.000000,303.000000 -41.000000L165.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_84">
      <path style="fill-rule: evenodd;" d="M321.000000 -41.000000L321.000000 -522.000000L487.000000 -522.000000L487.000000 -449.000000C487.000000 -433.000000,496.000000 -422.000000,508.000000 -422.000000C522.000000 -422.000000,528.000000 -430.000000,528.000000 -449.000000L528.000000 -563.000000L72.000000 -563.000000L72.000000 -449.000000C72.000000 -431.000000,79.000000 -422.000000,92.000000 -422.000000C106.000000 -422.000000,113.000000 -431.000000,113.000000 -449.000000L113.000000 -522.000000L280.000000 -522.000000L280.000000 -41.000000L175.000000 -41.000000C157.000000 -41.000000,148.000000 -34.000000,148.000000 -21.000000C148.000000 -7.000000,157.000000 -0.000000,175.000000 -0.000000L426.000000 -0.000000C444.000000 -0.000000,453.000000 -7.000000,453.000000 -21.000000C453.000000 -34.000000,444.000000 -41.000000,426.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_109">
      <path style="fill-rule: evenodd;" d="M112.000000 -417.000000L38.000000 -417.000000C20.000000 -417.000000,11.000000 -410.000000,11.000000 -397.000000C11.000000 -383.000000,20.000000 -376.000000,38.000000 -376.000000L72.000000 -376.000000L72.000000 -41.000000L38.000000 -41.000000C20.000000 -41.000000,11.000000 -34.000000,11.000000 -21.000000C11.000000 -7.000000,20.000000 -0.000000,37.000000 -0.000000L146.000000 -0.000000C163.000000 -0.000000,173.000000 -7.000000,173.000000 -21.000000C173.000000 -34.000000,164.000000 -41.000000,146.000000 -41.000000L112.000000 -41.000000L112.000000 -308.000000C150.000000 -365.000000,182.000000 -390.000000,217.000000 -390.000000C251.000000 -390.000000,282.000000 -355.000000,282.000000 -316.000000L282.000000 -0.000000L356.000000 -0.000000C374.000000 -0.000000,383.000000 -7.000000,383.000000 -21.000000C383.000000 -34.000000,374.000000 -41.000000,356.000000 -41.000000L322.000000 -41.000000L322.000000 -308.000000C360.000000 -366.000000,390.000000 -390.000000,426.000000 -390.000000C461.000000 -390.000000,492.000000 -357.000000,492.000000 -319.000000L492.000000 -0.000000L566.000000 -0.000000C584.000000 -0.000000,593.000000 -7.000000,593.000000 -21.000000C593.000000 -34.000000,584.000000 -41.000000,566.000000 -41.000000L532.000000 -41.000000L532.000000 -323.000000C532.000000 -382.000000,485.000000 -431.000000,427.000000 -431.000000C386.000000 -431.000000,353.000000 -410.000000,314.000000 -360.000000C292.000000 -408.000000,260.000000 -431.000000,217.000000 -431.000000C175.000000 -431.000000,146.000000 -413.000000,112.000000 -365.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_110">
      <path style="fill-rule: evenodd;" d="M167.000000 -417.000000L92.000000 -417.000000C74.000000 -417.000000,65.000000 -410.000000,65.000000 -397.000000C65.000000 -383.000000,74.000000 -376.000000,92.000000 -376.000000L126.000000 -376.000000L126.000000 -41.000000L81.000000 -41.000000C62.000000 -41.000000,53.000000 -34.000000,53.000000 -21.000000C53.000000 -7.000000,62.000000 -0.000000,81.000000 -0.000000L212.000000 -0.000000C230.000000 -0.000000,239.000000 -7.000000,239.000000 -21.000000C239.000000 -34.000000,230.000000 -41.000000,212.000000 -41.000000L167.000000 -41.000000L167.000000 -294.000000C199.000000 -335.000000,209.000000 -346.000000,224.000000 -357.000000C252.000000 -380.000000,281.000000 -390.000000,319.000000 -390.000000C358.000000 -390.000000,377.000000 -384.000000,401.000000 -364.000000C426.000000 -343.000000,439.000000 -318.000000,439.000000 -288.000000L439.000000 -41.000000L405.000000 -41.000000C387.000000 -41.000000,378.000000 -34.000000,378.000000 -21.000000C378.000000 -7.000000,387.000000 -0.000000,405.000000 -0.000000L514.000000 -0.000000C532.000000 -0.000000,541.000000 -7.000000,541.000000 -21.000000C541.000000 -34.000000,532.000000 -41.000000,514.000000 -41.000000L480.000000 -41.000000L480.000000 -295.000000C480.000000 -372.000000,412.000000 -431.000000,323.000000 -431.000000C261.000000 -431.000000,225.000000 -412.000000,167.000000 -348.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_111">
      <path style="fill-rule: evenodd;" d="M300.000000 -431.000000C173.000000 -431.000000,72.000000 -331.000000,72.000000 -208.000000C72.000000 -83.000000,173.000000 16.000000,300.000000 16.000000C426.000000 16.000000,528.000000 -83.000000,528.000000 -205.000000C528.000000 -332.000000,428.000000 -431.000000,300.000000 -431.000000M300.000000 -390.000000C405.000000 -390.000000,487.000000 -310.000000,487.000000 -205.000000C487.000000 -106.000000,403.000000 -25.000000,300.000000 -25.000000C196.000000 -25.000000,113.000000 -106.000000,113.000000 -208.000000C113.000000 -309.000000,196.000000 -390.000000,300.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_114">
      <path style="fill-rule: evenodd;" d="M248.000000 -417.000000L132.000000 -417.000000C115.000000 -417.000000,105.000000 -409.000000,105.000000 -397.000000C105.000000 -384.000000,115.000000 -376.000000,132.000000 -376.000000L207.000000 -376.000000L207.000000 -41.000000L111.000000 -41.000000C94.000000 -41.000000,84.000000 -33.000000,84.000000 -21.000000C84.000000 -8.000000,94.000000 -0.000000,111.000000 -0.000000L427.000000 -0.000000C444.000000 -0.000000,454.000000 -8.000000,454.000000 -20.000000C454.000000 -33.000000,444.000000 -41.000000,427.000000 -41.000000L248.000000 -41.000000L248.000000 -262.000000C358.000000 -363.000000,393.000000 -386.000000,438.000000 -386.000000C460.000000 -386.000000,480.000000 -375.000000,504.000000 -352.000000C511.000000 -345.000000,513.000000 -344.000000,520.000000 -344.000000C532.000000 -344.000000,541.000000 -353.000000,541.000000 -365.000000C541.000000 -374.000000,535.000000 -382.000000,518.000000 -396.000000C492.000000 -418.000000,470.000000 -427.000000,441.000000 -427.000000C390.000000 -427.000000,341.000000 -399.000000,248.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_116">
      <path style="fill-rule: evenodd;" d="M186.000000 -417.000000L186.000000 -536.000000C186.000000 -555.000000,180.000000 -563.000000,166.000000 -563.000000C152.000000 -563.000000,145.000000 -554.000000,145.000000 -536.000000L145.000000 -417.000000L71.000000 -417.000000C52.000000 -417.000000,43.000000 -410.000000,43.000000 -397.000000C43.000000 -383.000000,52.000000 -376.000000,71.000000 -376.000000L145.000000 -376.000000L145.000000 -107.000000C145.000000 -32.000000,206.000000 16.000000,300.000000 16.000000C385.000000 16.000000,499.000000 -22.000000,499.000000 -51.000000C499.000000 -61.000000,490.000000 -71.000000,480.000000 -71.000000C475.000000 -71.000000,472.000000 -70.000000,464.000000 -65.000000C425.000000 -42.000000,354.000000 -25.000000,298.000000 -25.000000C229.000000 -25.000000,186.000000 -58.000000,186.000000 -109.000000L186.000000 -376.000000L406.000000 -376.000000C424.000000 -376.000000,433.000000 -383.000000,433.000000 -397.000000C433.000000 -410.000000,424.000000 -417.000000,406.000000 -417.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_117">
      <path style="fill-rule: evenodd;" d="M439.000000 -0.000000L514.000000 -0.000000C532.000000 -0.000000,541.000000 -7.000000,541.000000 -21.000000C541.000000 -34.000000,532.000000 -41.000000,514.000000 -41.000000L480.000000 -41.000000L480.000000 -417.000000L365.000000 -417.000000C346.000000 -417.000000,337.000000 -410.000000,337.000000 -397.000000C337.000000 -383.000000,346.000000 -376.000000,365.000000 -376.000000L439.000000 -376.000000L439.000000 -115.000000C384.000000 -55.000000,323.000000 -25.000000,256.000000 -25.000000C205.000000 -25.000000,165.000000 -65.000000,165.000000 -115.000000L165.000000 -417.000000L70.000000 -417.000000C52.000000 -417.000000,43.000000 -410.000000,43.000000 -397.000000C43.000000 -383.000000,52.000000 -376.000000,70.000000 -376.000000L124.000000 -376.000000L124.000000 -115.000000C124.000000 -36.000000,177.000000 16.000000,257.000000 16.000000C323.000000 16.000000,384.000000 -12.000000,439.000000 -66.000000"></path>
    </g>
  </defs>
  <path d="M85.338974 159.000000C85.338974 158.471527,85.129013 157.964767,84.755356 157.591095C84.381683 157.217438,83.874924 157.007477,83.346451 157.007477C82.817978 157.007477,82.311218 157.217438,81.937546 157.591095C81.563889 157.964767,81.353928 158.471527,81.353928 159.000000C81.353928 159.528473,81.563889 160.035233,81.937546 160.408905C82.311218 160.782562,82.817978 160.992523,83.346451 160.992523C83.874924 160.992523,84.381683 160.782562,84.755356 160.408905C85.129013 160.035233,85.338974 159.528473,85.338974 159.000000Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M113.685425 102.307098C113.685425 101.778625,113.475464 101.271866,113.101807 100.898193C112.728134 100.524536,112.221375 100.314575,111.692902 100.314575C111.164429 100.314575,110.657669 100.524536,110.283997 100.898193C109.910339 101.271866,109.700378 101.778625,109.700378 102.307098C109.700378 102.835571,109.910339 103.342331,110.283997 103.716003C110.657669 104.089661,111.164429 104.299622,111.692902 104.299622C112.221375 104.299622,112.728134 104.089661,113.101807 103.716003C113.475464 103.342331,113.685425 102.835571,113.685425 102.307098Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M85.338974 45.614197C85.338974 45.085724,85.129013 44.578964,84.755356 44.205292C84.381683 43.831635,83.874924 43.621674,83.346451 43.621674C82.817978 43.621674,82.311218 43.831635,81.937546 44.205292C81.563889 44.578964,81.353928 45.085724,81.353928 45.614197C81.353928 46.142670,81.563889 46.649429,81.937546 47.023102C82.311218 47.396759,82.817978 47.606720,83.346451 47.606720C83.874924 47.606720,84.381683 47.396759,84.755356 47.023102C85.129013 46.649429,85.338974 46.142670,85.338974 45.614197Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M170.378326 159.000000C170.378326 158.471527,170.168365 157.964767,169.794708 157.591095C169.421036 157.217438,168.914276 157.007477,168.385803 157.007477C167.857330 157.007477,167.350571 157.217438,166.976898 157.591095C166.603241 157.964767,166.393280 158.471527,166.393280 159.000000C166.393280 159.528473,166.603241 160.035233,166.976898 160.408905C167.350571 160.782562,167.857330 160.992523,168.385803 160.992523C168.914276 160.992523,169.421036 160.782562,169.794708 160.408905C170.168365 160.035233,170.378326 159.528473,170.378326 159.000000Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M170.378326 130.653549C170.378326 130.125076,170.168365 129.618317,169.794708 129.244644C169.421036 128.870987,168.914276 128.661026,168.385803 128.661026C167.857330 128.661026,167.350571 128.870987,166.976898 129.244644C166.603241 129.618317,166.393280 130.125076,166.393280 130.653549C166.393280 131.182022,166.603241 131.688782,166.976898 132.062454C167.350571 132.436111,167.857330 132.646072,168.385803 132.646072C168.914276 132.646072,169.421036 132.436111,169.794708 132.062454C170.168365 131.688782,170.378326 131.182022,170.378326 130.653549Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M198.724777 17.267746C198.724777 16.739273,198.514816 16.232513,198.141159 15.858841C197.767487 15.485184,197.260727 15.275223,196.732254 15.275223C196.203781 15.275223,195.697021 15.485184,195.323349 15.858841C194.949692 16.232513,194.739731 16.739273,194.739731 17.267746C194.739731 17.796219,194.949692 18.302979,195.323349 18.676651C195.697021 19.050308,196.203781 19.260269,196.732254 19.260269C197.260727 19.260269,197.767487 19.050308,198.141159 18.676651C198.514816 18.302979,198.724777 17.796219,198.724777 17.267746Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M193.055573 3.094513C193.055573 2.566040,192.845612 2.059280,192.471954 1.685608C192.098282 1.311951,191.591522 1.101990,191.063049 1.101990C190.534576 1.101990,190.027817 1.311951,189.654144 1.685608C189.280487 2.059280,189.070526 2.566040,189.070526 3.094513C189.070526 3.622986,189.280487 4.129745,189.654144 4.503418C190.027817 4.877075,190.534576 5.087036,191.063049 5.087036C191.591522 5.087036,192.098282 4.877075,192.471954 4.503418C192.845612 4.129745,193.055573 3.622986,193.055573 3.094513Z" style="fill: rgb(0.000000%,0.000000%,0.000000%);stroke: none;"></path>
  <path d="M83.346451 159.000000L111.692902 102.307098L83.346451 45.614197" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.500000;stroke-linecap: round;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M168.385803 159.000000L168.385803 130.653549L196.732254 17.267746L191.063049 3.094513" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.500000;stroke-linecap: round;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M111.692902 102.307098L168.385803 130.653549" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.500000;stroke-linecap: round;stroke-dasharray: 3.000000 3.000000 ;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M111.692902 102.307098L171.720688 117.314041" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.500000;stroke-linecap: round;stroke-dasharray: 3.000000 3.000000 ;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.199997,-0.000000,-0.000000,1.199997,134.246490 127.782516)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_100"></use>
  </g>
  <g transform="matrix(1.199997,-0.000000,-0.000000,1.199997,140.468948 129.575790)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
  <g transform="matrix(1.199997,-0.000000,-0.000000,1.199997,135.913940 105.017303)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_100"></use>
  </g>
  <g transform="matrix(1.199997,-0.000000,-0.000000,1.199997,142.136398 106.810577)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_50"></use>
  </g>
  <g transform="matrix(1.199997,-0.000000,-0.000000,1.199997,1.442566 105.774078)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_67"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_116" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_117" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_114" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_70" x="42.000646"></use>
    <use xlink:href="#GLYPHpcrr8r_114" x="48.000739"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="54.000831"></use>
    <use xlink:href="#GLYPHpcrr8r_109" x="60.000923"></use>
  </g>
  <g transform="matrix(1.199997,-0.000000,-0.000000,1.199997,185.559036 91.600830)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_67"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_116" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_117" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_114" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_84" x="42.000646"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="48.000739"></use>
  </g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
The dashed lines illustrate the calculated distances starting from a
point of <a href="#ContourFrom"><i><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></i></a> on the left.
The distance <span title="1" style="vertical-align:-0.257587em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.09147em" height="0.966293em" viewBox="0 0 17.463577 15.460693">
<!-- Original BoundingBox: -8.731796 -7.730347 8.731781 7.730347 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_100">
      <path style="fill-rule: evenodd;" d="M516.000000 -683.000000C516.000000 -684.000000,516.000000 -694.000000,503.000000 -694.000000C488.000000 -694.000000,393.000000 -685.000000,376.000000 -683.000000C368.000000 -682.000000,362.000000 -677.000000,362.000000 -664.000000C362.000000 -652.000000,371.000000 -652.000000,386.000000 -652.000000C434.000000 -652.000000,436.000000 -645.000000,436.000000 -635.000000L433.000000 -615.000000L373.000000 -378.000000C355.000000 -415.000000,326.000000 -442.000000,281.000000 -442.000000C164.000000 -442.000000,40.000000 -295.000000,40.000000 -149.000000C40.000000 -55.000000,95.000000 11.000000,173.000000 11.000000C193.000000 11.000000,243.000000 7.000000,303.000000 -64.000000C311.000000 -22.000000,346.000000 11.000000,394.000000 11.000000C429.000000 11.000000,452.000000 -12.000000,468.000000 -44.000000C485.000000 -80.000000,498.000000 -141.000000,498.000000 -143.000000C498.000000 -153.000000,489.000000 -153.000000,486.000000 -153.000000C476.000000 -153.000000,475.000000 -149.000000,472.000000 -135.000000C455.000000 -70.000000,437.000000 -11.000000,396.000000 -11.000000C369.000000 -11.000000,366.000000 -37.000000,366.000000 -57.000000C366.000000 -81.000000,368.000000 -88.000000,372.000000 -105.000000M308.000000 -119.000000C303.000000 -101.000000,303.000000 -99.000000,288.000000 -82.000000C244.000000 -27.000000,203.000000 -11.000000,175.000000 -11.000000C125.000000 -11.000000,111.000000 -66.000000,111.000000 -105.000000C111.000000 -155.000000,143.000000 -278.000000,166.000000 -324.000000C197.000000 -383.000000,242.000000 -420.000000,282.000000 -420.000000C347.000000 -420.000000,361.000000 -338.000000,361.000000 -332.000000C361.000000 -326.000000,359.000000 -320.000000,358.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_49">
      <path style="fill-rule: evenodd;" d="M335.000000 -636.000000C335.000000 -663.000000,333.000000 -664.000000,305.000000 -664.000000C241.000000 -601.000000,150.000000 -600.000000,109.000000 -600.000000L109.000000 -564.000000C133.000000 -564.000000,199.000000 -564.000000,254.000000 -592.000000L254.000000 -82.000000C254.000000 -49.000000,254.000000 -36.000000,154.000000 -36.000000L116.000000 -36.000000L116.000000 -0.000000L294.000000 -0.000000L134.000000 -1.000000L257.000000 -4.000000L294.000000 -4.000000L325.000000 -4.000000L451.000000 -1.000000L473.000000 -0.000000L473.000000 -36.000000L435.000000 -36.000000C335.000000 -36.000000,335.000000 -49.000000,335.000000 -82.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.284195 11.339294)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_100"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.580887 13.730347)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
</svg></span> corresponds to the
<i><span data-if="hdevelop" style="display:inline">'point_to_point'</span><span data-if="c" style="display:none">"point_to_point"</span><span data-if="cpp" style="display:none">"point_to_point"</span><span data-if="com" style="display:none">"point_to_point"</span><span data-if="dotnet" style="display:none">"point_to_point"</span><span data-if="python" style="display:none">"point_to_point"</span></i> mode, whereas the distance <span title="2" style="vertical-align:-0.257587em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.09147em" height="0.966293em" viewBox="0 0 17.463577 15.460693">
<!-- Original BoundingBox: -8.731796 -7.730347 8.731781 7.730347 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_100">
      <path style="fill-rule: evenodd;" d="M516.000000 -683.000000C516.000000 -684.000000,516.000000 -694.000000,503.000000 -694.000000C488.000000 -694.000000,393.000000 -685.000000,376.000000 -683.000000C368.000000 -682.000000,362.000000 -677.000000,362.000000 -664.000000C362.000000 -652.000000,371.000000 -652.000000,386.000000 -652.000000C434.000000 -652.000000,436.000000 -645.000000,436.000000 -635.000000L433.000000 -615.000000L373.000000 -378.000000C355.000000 -415.000000,326.000000 -442.000000,281.000000 -442.000000C164.000000 -442.000000,40.000000 -295.000000,40.000000 -149.000000C40.000000 -55.000000,95.000000 11.000000,173.000000 11.000000C193.000000 11.000000,243.000000 7.000000,303.000000 -64.000000C311.000000 -22.000000,346.000000 11.000000,394.000000 11.000000C429.000000 11.000000,452.000000 -12.000000,468.000000 -44.000000C485.000000 -80.000000,498.000000 -141.000000,498.000000 -143.000000C498.000000 -153.000000,489.000000 -153.000000,486.000000 -153.000000C476.000000 -153.000000,475.000000 -149.000000,472.000000 -135.000000C455.000000 -70.000000,437.000000 -11.000000,396.000000 -11.000000C369.000000 -11.000000,366.000000 -37.000000,366.000000 -57.000000C366.000000 -81.000000,368.000000 -88.000000,372.000000 -105.000000M308.000000 -119.000000C303.000000 -101.000000,303.000000 -99.000000,288.000000 -82.000000C244.000000 -27.000000,203.000000 -11.000000,175.000000 -11.000000C125.000000 -11.000000,111.000000 -66.000000,111.000000 -105.000000C111.000000 -155.000000,143.000000 -278.000000,166.000000 -324.000000C197.000000 -383.000000,242.000000 -420.000000,282.000000 -420.000000C347.000000 -420.000000,361.000000 -338.000000,361.000000 -332.000000C361.000000 -326.000000,359.000000 -320.000000,358.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_50">
      <path style="fill-rule: evenodd;" d="M505.000000 -182.000000L471.000000 -182.000000C468.000000 -160.000000,458.000000 -101.000000,445.000000 -91.000000C437.000000 -85.000000,360.000000 -85.000000,346.000000 -85.000000L162.000000 -85.000000C267.000000 -178.000000,302.000000 -206.000000,362.000000 -253.000000C436.000000 -312.000000,505.000000 -374.000000,505.000000 -469.000000C505.000000 -590.000000,399.000000 -664.000000,271.000000 -664.000000C147.000000 -664.000000,63.000000 -577.000000,63.000000 -485.000000C63.000000 -434.000000,106.000000 -429.000000,116.000000 -429.000000C140.000000 -429.000000,169.000000 -446.000000,169.000000 -482.000000C169.000000 -500.000000,162.000000 -535.000000,110.000000 -535.000000C141.000000 -606.000000,209.000000 -628.000000,256.000000 -628.000000C356.000000 -628.000000,408.000000 -550.000000,408.000000 -469.000000C408.000000 -382.000000,346.000000 -313.000000,314.000000 -277.000000L73.000000 -39.000000C63.000000 -30.000000,63.000000 -28.000000,63.000000 -0.000000L475.000000 -0.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.284195 11.339294)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_100"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.580887 13.730347)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_50"></use>
  </g>
</svg></span>
corresponds to the <i><span data-if="hdevelop" style="display:inline">'point_to_segment'</span><span data-if="c" style="display:none">"point_to_segment"</span><span data-if="cpp" style="display:none">"point_to_segment"</span><span data-if="com" style="display:none">"point_to_segment"</span><span data-if="dotnet" style="display:none">"point_to_segment"</span><span data-if="python" style="display:none">"point_to_segment"</span></i> mode.
</div>
</div>
<p>Note that in many applications the mode <i><span data-if="hdevelop" style="display:inline">'point_to_segment'</span><span data-if="c" style="display:none">"point_to_segment"</span><span data-if="cpp" style="display:none">"point_to_segment"</span><span data-if="com" style="display:none">"point_to_segment"</span><span data-if="dotnet" style="display:none">"point_to_segment"</span><span data-if="python" style="display:none">"point_to_segment"</span></i>
suggests itself for an accurate result, whereas
<i><span data-if="hdevelop" style="display:inline">'point_to_point'</span><span data-if="c" style="display:none">"point_to_point"</span><span data-if="cpp" style="display:none">"point_to_point"</span><span data-if="com" style="display:none">"point_to_point"</span><span data-if="dotnet" style="display:none">"point_to_point"</span><span data-if="python" style="display:none">"point_to_point"</span></i> is considerably faster.
If m is the number of points in <a href="#ContourFrom"><i><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></i></a>, and n the number
of points in <a href="#ContourTo"><i><code><span data-if="hdevelop" style="display:inline">ContourTo</span><span data-if="c" style="display:none">ContourTo</span><span data-if="cpp" style="display:none">ContourTo</span><span data-if="com" style="display:none">ContourTo</span><span data-if="dotnet" style="display:none">contourTo</span><span data-if="python" style="display:none">contour_to</span></code></i></a>, then <code><span data-if="hdevelop" style="display:inline">distance_contours_xld</span><span data-if="c" style="display:none">distance_contours_xld</span><span data-if="cpp" style="display:none">DistanceContoursXld</span><span data-if="com" style="display:none">DistanceContoursXld</span><span data-if="dotnet" style="display:none">DistanceContoursXld</span><span data-if="python" style="display:none">distance_contours_xld</span></code>
has complexity O(mlog(n)) for <i><span data-if="hdevelop" style="display:inline">'point_to_point'</span><span data-if="c" style="display:none">"point_to_point"</span><span data-if="cpp" style="display:none">"point_to_point"</span><span data-if="com" style="display:none">"point_to_point"</span><span data-if="dotnet" style="display:none">"point_to_point"</span><span data-if="python" style="display:none">"point_to_point"</span></i>, and O(mn) for
<i><span data-if="hdevelop" style="display:inline">'point_to_segment'</span><span data-if="c" style="display:none">"point_to_segment"</span><span data-if="cpp" style="display:none">"point_to_segment"</span><span data-if="com" style="display:none">"point_to_segment"</span><span data-if="dotnet" style="display:none">"point_to_segment"</span><span data-if="python" style="display:none">"point_to_segment"</span></i>.
In case the template contour <a href="#ContourTo"><i><code><span data-if="hdevelop" style="display:inline">ContourTo</span><span data-if="c" style="display:none">ContourTo</span><span data-if="cpp" style="display:none">ContourTo</span><span data-if="com" style="display:none">ContourTo</span><span data-if="dotnet" style="display:none">contourTo</span><span data-if="python" style="display:none">contour_to</span></code></i></a> is repeatedly used, the
operators <a href="create_distance_transform_xld.html"><code><span data-if="hdevelop" style="display:inline">create_distance_transform_xld</span><span data-if="c" style="display:none">create_distance_transform_xld</span><span data-if="cpp" style="display:none">CreateDistanceTransformXld</span><span data-if="com" style="display:none">CreateDistanceTransformXld</span><span data-if="dotnet" style="display:none">CreateDistanceTransformXld</span><span data-if="python" style="display:none">create_distance_transform_xld</span></code></a> and
<a href="apply_distance_transform_xld.html"><code><span data-if="hdevelop" style="display:inline">apply_distance_transform_xld</span><span data-if="c" style="display:none">apply_distance_transform_xld</span><span data-if="cpp" style="display:none">ApplyDistanceTransformXld</span><span data-if="com" style="display:none">ApplyDistanceTransformXld</span><span data-if="dotnet" style="display:none">ApplyDistanceTransformXld</span><span data-if="python" style="display:none">apply_distance_transform_xld</span></code></a> can be used as an alternative to
<code><span data-if="hdevelop" style="display:inline">distance_contours_xld</span><span data-if="c" style="display:none">distance_contours_xld</span><span data-if="cpp" style="display:none">DistanceContoursXld</span><span data-if="com" style="display:none">DistanceContoursXld</span><span data-if="dotnet" style="display:none">DistanceContoursXld</span><span data-if="python" style="display:none">distance_contours_xld</span></code>. For further details, please refer to
the documentation of <a href="create_distance_transform_xld.html"><code><span data-if="hdevelop" style="display:inline">create_distance_transform_xld</span><span data-if="c" style="display:none">create_distance_transform_xld</span><span data-if="cpp" style="display:none">CreateDistanceTransformXld</span><span data-if="com" style="display:none">CreateDistanceTransformXld</span><span data-if="dotnet" style="display:none">CreateDistanceTransformXld</span><span data-if="python" style="display:none">create_distance_transform_xld</span></code></a>.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="ContourFrom" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></b> (input_object)  </span><span>xld_cont(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="c" style="display:none">Hobject</span></span>
</div>
<p class="pardesc">Contours for whose points the distances are
calculated.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ContourTo" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ContourTo</span><span data-if="c" style="display:none">ContourTo</span><span data-if="cpp" style="display:none">ContourTo</span><span data-if="com" style="display:none">ContourTo</span><span data-if="dotnet" style="display:none">contourTo</span><span data-if="python" style="display:none">contour_to</span></code></b> (input_object)  </span><span>xld_cont(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="c" style="display:none">Hobject</span></span>
</div>
<p class="pardesc">Contours to which the distances are
calculated to.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ContourOut" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ContourOut</span><span data-if="c" style="display:none">ContourOut</span><span data-if="cpp" style="display:none">ContourOut</span><span data-if="com" style="display:none">ContourOut</span><span data-if="dotnet" style="display:none">contourOut</span><span data-if="python" style="display:none">contour_out</span></code></b> (output_object)  </span><span>xld_cont(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HXLDCont.html">HXLDCont</a></span><span data-if="c" style="display:none">Hobject *</span></span>
</div>
<p class="pardesc">Copy of <a href="#ContourFrom"><i><code><span data-if="hdevelop" style="display:inline">ContourFrom</span><span data-if="c" style="display:none">ContourFrom</span><span data-if="cpp" style="display:none">ContourFrom</span><span data-if="com" style="display:none">ContourFrom</span><span data-if="dotnet" style="display:none">contourFrom</span><span data-if="python" style="display:none">contour_from</span></code></i></a> containing the
distances as an attribute.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Mode" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Mode</span><span data-if="c" style="display:none">Mode</span><span data-if="cpp" style="display:none">Mode</span><span data-if="com" style="display:none">Mode</span><span data-if="dotnet" style="display:none">mode</span><span data-if="python" style="display:none">mode</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Compute the distance to points ('point_to_point')
or to entire segments ('point_to_segment').</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'point_to_point'</span>
    <span data-if="c" style="display:none">"point_to_point"</span>
    <span data-if="cpp" style="display:none">"point_to_point"</span>
    <span data-if="com" style="display:none">"point_to_point"</span>
    <span data-if="dotnet" style="display:none">"point_to_point"</span>
    <span data-if="python" style="display:none">"point_to_point"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'point_to_point'</span><span data-if="c" style="display:none">"point_to_point"</span><span data-if="cpp" style="display:none">"point_to_point"</span><span data-if="com" style="display:none">"point_to_point"</span><span data-if="dotnet" style="display:none">"point_to_point"</span><span data-if="python" style="display:none">"point_to_point"</span>, <span data-if="hdevelop" style="display:inline">'point_to_segment'</span><span data-if="c" style="display:none">"point_to_segment"</span><span data-if="cpp" style="display:none">"point_to_segment"</span><span data-if="com" style="display:none">"point_to_segment"</span><span data-if="dotnet" style="display:none">"point_to_segment"</span><span data-if="python" style="display:none">"point_to_segment"</span></p>
</div>
<h2 id="sec_result">结果</h2>
<p>If all parameters are correct, 该算子 returns the
value <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    . Otherwise, an exception is raised.</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_contour_attrib_xld.html"><span data-if="hdevelop" style="display:inline">get_contour_attrib_xld</span><span data-if="c" style="display:none">get_contour_attrib_xld</span><span data-if="cpp" style="display:none">GetContourAttribXld</span><span data-if="com" style="display:none">GetContourAttribXld</span><span data-if="dotnet" style="display:none">GetContourAttribXld</span><span data-if="python" style="display:none">get_contour_attrib_xld</span></a></code>, 
<code><a href="segment_contour_attrib_xld.html"><span data-if="hdevelop" style="display:inline">segment_contour_attrib_xld</span><span data-if="c" style="display:none">segment_contour_attrib_xld</span><span data-if="cpp" style="display:none">SegmentContourAttribXld</span><span data-if="com" style="display:none">SegmentContourAttribXld</span><span data-if="dotnet" style="display:none">SegmentContourAttribXld</span><span data-if="python" style="display:none">segment_contour_attrib_xld</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="apply_distance_transform_xld.html"><span data-if="hdevelop" style="display:inline">apply_distance_transform_xld</span><span data-if="c" style="display:none">apply_distance_transform_xld</span><span data-if="cpp" style="display:none">ApplyDistanceTransformXld</span><span data-if="com" style="display:none">ApplyDistanceTransformXld</span><span data-if="dotnet" style="display:none">ApplyDistanceTransformXld</span><span data-if="python" style="display:none">apply_distance_transform_xld</span></a></code>, 
<code><a href="distance_cc.html"><span data-if="hdevelop" style="display:inline">distance_cc</span><span data-if="c" style="display:none">distance_cc</span><span data-if="cpp" style="display:none">DistanceCc</span><span data-if="com" style="display:none">DistanceCc</span><span data-if="dotnet" style="display:none">DistanceCc</span><span data-if="python" style="display:none">distance_cc</span></a></code>, 
<code><a href="distance_cc_min.html"><span data-if="hdevelop" style="display:inline">distance_cc_min</span><span data-if="c" style="display:none">distance_cc_min</span><span data-if="cpp" style="display:none">DistanceCcMin</span><span data-if="com" style="display:none">DistanceCcMin</span><span data-if="dotnet" style="display:none">DistanceCcMin</span><span data-if="python" style="display:none">distance_cc_min</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
